settings.ts 1013 B

1234567891011121314151617181920212223242526272829303132
  1. import { components } from 'api-types'
  2. import { NextApiRequest, NextApiResponse } from 'next'
  3. import apiWrapper from '@/lib/api/apiWrapper'
  4. import { getProjectSettings } from '@/lib/api/self-hosted/settings'
  5. type ProjectAppConfig = components['schemas']['ProjectSettingsResponse']['app_config'] & {
  6. protocol?: string
  7. }
  8. export type ProjectSettings = components['schemas']['ProjectSettingsResponse'] & {
  9. app_config?: ProjectAppConfig
  10. }
  11. export default (req: NextApiRequest, res: NextApiResponse) => apiWrapper(req, res, handler)
  12. async function handler(req: NextApiRequest, res: NextApiResponse) {
  13. const { method } = req
  14. switch (method) {
  15. case 'GET':
  16. return handleGetAll(req, res)
  17. default:
  18. res.setHeader('Allow', ['GET'])
  19. res.status(405).json({ data: null, error: { message: `Method ${method} Not Allowed` } })
  20. }
  21. }
  22. const handleGetAll = async (_req: NextApiRequest, res: NextApiResponse) => {
  23. const response = getProjectSettings()
  24. return res.status(200).json(response)
  25. }